# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>

buildarch=4

pkgname=xf86-video-armsoc-rockchip
pkgver=261.67d4cff
pkgrel=7
pkgdesc='X.org graphics driver for ARM graphics - Rockchip'
arch=('armv7h')
url="https://github.com/mmind/xf86-video-armsoc"
license=('GPL2')
makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=25.2' 'git')
conflicts=('xorg-server<1.21.1' 'X-ABI-VIDEODRV_VERSION<25' 'X-ABI-VIDEODRV_VERSION>=26' 'xf86-video-armsoc')
provides=(xf86-video-armsoc)
options=('!libtool')
source=("$pkgname::git+https://github.com/mmind/xf86-video-armsoc.git#branch=devel/rockchip"
        '0001-Adapt-Block-WakeupHandler-signature-for-ABI-23.patch'
        '0002-Use-NotifyFd-for-drm-fd.patch'
        '0003-Initialize-XRandR-before-EnterVT.patch'
        '20-armsoc.conf')
md5sums=('SKIP'
         '5d4f9626343030e6fb2583601c89335f'
         'cf88a8f072f6505e8feb0418d1d66f81'
         '7f42ada17f6ca9bd045d2dfef399692e'
         'ca34299695813b200f0d6054c45d1f94')

pkgver() {
  cd $pkgname
  echo $(git rev-list --count HEAD).$(git rev-parse --short HEAD)
}

prepare() {
  cd $pkgname
  git apply ../0001-Adapt-Block-WakeupHandler-signature-for-ABI-23.patch
  git apply ../0002-Use-NotifyFd-for-drm-fd.patch
  git apply ../0003-Initialize-XRandR-before-EnterVT.patch
}

build() {
  cd $pkgname

  # Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
  # With them, module fail to load with undefined symbol.
  # See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
  export CFLAGS=${CFLAGS/-fno-plt}
  export CXXFLAGS=${CXXFLAGS/-fno-plt}
  export LDFLAGS=${LDFLAGS/,-z,now}

  CFLAGS=`echo $CFLAGS | sed -e 's/vfpv3-d16/neon/'` && CXXFLAGS="$CFLAGS"
  ./autogen.sh --prefix=/usr --with-drmmode=rockchip
  make
}

package() {
  cd $pkgname

  make DESTDIR="${pkgdir}" install
  mkdir -p "${pkgdir}"/etc/X11/xorg.conf.d/
  cp ../20-armsoc.conf "${pkgdir}"/etc/X11/xorg.conf.d/
}
